Within the context of the CORBA standard, it often occurs that the messages become fragmented during transmission due to the Maximum Transmission Unit size that the communications network can tolerate, especially in the instance of large datagrams. Messages so fragmented are received at an ORB (Object Request Broker) where they are to be handled according to their priority for either immediate delivery to a client or for queuing for later delivery. It is common practice to exchange fragmented messages between ORBs operating in distributed environments such as the Web. However, fragmented messages greatly complicate the task of intercepting and classifying the requests contained in them for the usual purposes of message prioritization and queuing without significant modifications to the processing code in the ORB. Currently, in order to classify fragmented IIOP® messages, the lower levels of code in the ORB must be changed to deliver un-fragmented messages onward to the classification processing code in the higher levels and the code in such levels would need to be changed to handle un-fragmented messages.
As those familiar with the CORBA standard architecture for an ORB will readily appreciate, there are seven somewhat indistinctly-defined levels of processing within the standard architecture for an ORB. The present invention resolves the problem of prioritization and queuing of fragmented messages in an ORB by intercepting such messages between levels of processing in an ORB, marking the current data stream location where the interception occurs, issuing a message read command and then analyzing the message control areas, followed by resetting the data stream pointer to the original intercept location and then either queuing the message for later delivery or forwarding it for immediate processing by passing the message onward to the higher levels of code for such processing. This avoids the problem of having to provide extensive modifications to the existing code levels making up the CORBA standard ORB and has the added advantage of being transparent and unseen by the existing code levels as they remain unchanged. The invention adds a new, intermediate processing stage between lower levels and higher levels of code in the CORBA standard architecture model.